From: Wim Taymans Date: Wed, 11 Jun 2014 15:07:22 +0000 (+0200) Subject: shell-recorder-src: use timestamping from basesrc X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2403 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=43ae3b8140f0052b43a8d95c2d9d8f4b6f6dd4af;p=gnome-shell.git shell-recorder-src: use timestamping from basesrc Use the do-timestamp feature of basesrc to place the correct timestamp on each outgoing buffer. --- diff --git a/src/shell-recorder-src.c b/src/shell-recorder-src.c index af75b211a..b26d5ca3f 100644 --- a/src/shell-recorder-src.c +++ b/src/shell-recorder-src.c @@ -14,9 +14,6 @@ struct _ShellRecorderSrc GMutex mutex_data; GMutex *mutex; - GstClock *clock; - GstClockTime last_frame_time; - GstCaps *caps; GAsyncQueue *queue; gboolean closed; @@ -45,9 +42,7 @@ shell_recorder_src_init (ShellRecorderSrc *src) { gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME); gst_base_src_set_live (GST_BASE_SRC (src), TRUE); - - src->clock = gst_system_clock_obtain (); - src->last_frame_time = 0; + gst_base_src_set_do_timestamp (GST_BASE_SRC (src), TRUE); src->queue = g_async_queue_new (); src->mutex = &src->mutex_data; @@ -113,9 +108,6 @@ shell_recorder_src_create (GstPushSrc *push_src, buffer = g_async_queue_pop (src->queue); - if (src->last_frame_time == 0) - src->last_frame_time = gst_clock_get_time (GST_CLOCK (src->clock)); - if (buffer == RECORDER_QUEUE_END) { /* Returning UNEXPECTED here will cause a EOS message to be sent */ @@ -127,9 +119,6 @@ shell_recorder_src_create (GstPushSrc *push_src, - (int)(gst_buffer_get_size(buffer) / 1024)); *buffer_out = buffer; - GST_BUFFER_DURATION(*buffer_out) = GST_CLOCK_DIFF (src->last_frame_time, gst_clock_get_time (GST_CLOCK (src->clock))); - - src->last_frame_time = gst_clock_get_time (GST_CLOCK (src->clock)); return GST_FLOW_OK; } @@ -171,8 +160,6 @@ shell_recorder_src_finalize (GObject *object) g_mutex_clear (src->mutex); - gst_object_unref (src->clock); - G_OBJECT_CLASS (shell_recorder_src_parent_class)->finalize (object); }